package com.jhgsys.internal.sypq.entity;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Excel("排期信息")
public class TaskExcelDto implements Serializable {

    /**
     * 项目编号
     */
    @TableField("project_code")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    @ExcelField(value = "项目编号", width = 120)
    private String projectCode;

    @Schema(description = "项目名称")
    @ExcelField(value = "任务类型名称", width = 120)
    private String projectName;

    @TableId(value = "task_code")
    @ExcelField(value = "任务编号", width = 120)
    private String taskCode;


    @Schema(description = "任务类型名称")
    @ExcelField(value = "任务类型", width = 120)
    private String taskTypeName;

    @Schema(description = "任务状态名称")
    @ExcelField(value = "任务状态名称", width = 120)
    private String statusName;





    @Schema(description = "船模名称")
    @ExcelField(value = "船模名称", width = 120)
    private String shipnames;

    @Schema(description = "桨模名称")
    @ExcelField(value = "桨模名称", width = 120)
    private String oarsnames;

    @Schema(description = "附体名称")
    @ExcelField(value = "附体名称", width = 120)
    private String attachnames;

    @Schema(description = "资源编码")
    @ExcelField(value = "所需资源编码", width = 120)
    private String rsCode;

    @Schema(description = "资源名称")
    @ExcelField(value = "所需资源名称", width = 120)
    private String rsName;

    @Schema(description = "客户编码")
    @ExcelField(value = "客户编码", width = 120)
    private String custCode;

    @Schema(description = "客户单位")
    @ExcelField(value = "客户单位", width = 120)
    private String custName;

    @Schema(description = "客户联系人")
    @ExcelField(value = "客户联系人", width = 120)
    private String contact;

    @Schema(description = "联系电话")
    @ExcelField(value = "联系电话", width = 120)
    private String telephone;

    @Schema(description = "项目经理")
    @ExcelField(value = "项目经理", width = 120)
    private  String  managers;

    @TableField("test_day")
    @ExcelField(value = "试验工时", width = 120)
    private BigDecimal testDay;

    @TableField("iskey_task")
    @Size(max = 1, message = "{noMoreThan}")
    @ExcelField(value = "是否重点任务", width = 120,writeConverterExp = "1=是,0=否")
    private String   iskeyTask;

    @TableField("remark")
    @Size(max = 200, message = "{noMoreThan}")
    @ExcelField(value = "备注", width = 120)
    private String remark;

    @TableField(value="plan_startdate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ExcelField(value = "计划开始时间", width = 120,dateFormat = "yyyy-MM-dd HH:mm")
    private Date planStartdate;

    /**
     * 计划结束时间
     */
    @TableField(value="plan_enddate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ExcelField(value = "计划结束时间", width = 120,dateFormat = "yyyy-MM-dd HH:mm")
    private Date planEnddate;

    @TableField(value="actually_startdate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ExcelField(value = "实际开始时间", width = 120,dateFormat = "yyyy-MM-dd HH:mm")
    private Date actuallyStartdate;

    /**
     * 实际结束时间
     */
    @TableField(value = "actually_enddate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ExcelField(value = "实际结束时间", width = 120,dateFormat = "yyyy-MM-dd HH:mm")
    private Date actuallyEnddate;


}
